<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
    <title>Document</title>
</head>

<body>
    <input id="inp">防抖</input>
    <script>
        // 高频事件触发，n秒内只会执行一次，如果在n秒内再次触发事件，则重新计算时间。例如input输入
        function debounce(fn) {
            let timeout = null; // 创建一个标记用来存放定时器的返回值
            return function () {
                clearTimeout(timeout); // 每当用户输入的时候把前一个 setTimeout clear 掉
                timeout = setTimeout(() => { // 然后又创建一个新的 setTimeout, 这样就能保证输入字符后的 interval 间隔内如果还有字符输入的话，就不会执行 fn 函数
                    fn.apply(this, arguments);
                }, 500);
            };
        }
        function sayHi() {
            console.log('防抖成功');
        }

        var inp = document.getElementById('inp');
        inp.addEventListener('input', debounce(sayHi)); // 防抖

    </script>

    <script>
        var b = 10;
        (function b() {
            b = 20;
            console.log(b);
        })();


        let nerarray = [...Array(10000).keys()].filter((x) => {
            return x.toString().length > 1 && x === Number(x.toString().split('').reverse().join(''))
        })
        console.log(nerarray);
    </script>

    <script>
        let result = []
        for (let i = 1; i < 10; i++) {
            result.push(i)
            result.push(i * 11)
            for (let j = 0; j < 10; j++) {
                result.push(i * 101 + j * 10)
                result.push(i * 1001 + j * 110)
            }
        }
        console.log(result);
    </script>
</body>

</html>